整数
- 与数学中的整数含义相同,可正可负,内存容量内无限取值范围 
- 整数包括二进制、八进制、十进制、十六进制4种形式。如:0b1010 = 0o12 = 10 = 0xa 
- 整数之间可以进行位运算,位运算只针对整数有作用 - 位运算按照二进制方式逐位进行 - | 位运算符 | 描述 | 
 | ——– | ——————– |
 | x & y | 按位与 |
 | x | y | 按位或 |
 | ~x | 按位取反 |
 | x ^ y | 按位异或 |
 | x << n | 左移,相当于乘2的n次 |
 | x >> n | 右移 |- 1 
 2
 3
 4
 5
 6
 7
 8
 9
 10
 11- In [1]: 101&99 
 Out[1]: 97
 In [2]: bin(101)
 Out[2]: '0b1100101'
 In [3]: bin(99)
 Out[3]: '0b1100011'
 In [4]: ~101
 Out[4]: -102- 补码=原码取反+1 
浮点数
- 与数学中的实数含义相同, 
- 存在取值范围:+-10^308左右,有精度限制,epsilon,【sys.float_info】。超出一定范围就直接表示为 - inf(无限大)。- 1 
 2
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17- import sys 
 print(sys.float_info)
 '''
 sys.float_info(
 max=1.7976931348623157e+308,
 max_exp=1024,
 max_10_exp=308,
 min=2.2250738585072014e-308,
 min_exp=-1021,
 min_10_exp=-307,
 dig=15,
 mant_dig=53,
 epsilon=2.220446049250313e-16,
 radix=2,
 rounds=1)
 '''
- 浮点数包括常规方法和科学计数法2种方式表示。如:0.0043 = 4.3e-3 
- 不确定尾数问题 - 浮点数在计算机中表示不精确 - 1 
 2
 3
 4- 0.1+0.2 
 0.30000000000000004
 0.1+0.2 ==0.3
 False- 0.1 在内存中的表示:0.00011001100110011001100110011001100110011001100110011010 (二进制),转换成十进制是:0.1000000000000000055511151231257827021181583404541015625 (十进制) - 不确定尾数一般发生在10 -16 左右,使用round()辅助浮点数运算,消除不确定尾数 - round(x, d):对x四舍五入,d是小数截取位数 - 1 
 2- round(0.1 + 0.2, 1) == 0.3 
 True
- 大精确浮点运算 - python整数运算是精确的。可以将浮点数转换成(数值整数,小数位数整数)二元组,用二元组进行计算。这样就能把浮点数运算转换成整数运算。 - 例如:1.2e-3 + 0.01–>(12,4)+(1,2)–>(12,4)+(100,4)–>(112,4)–>0.0112 
复数
- 与数学中的复数概念相同,定义 
 $$
 j =\sqrt{2}
 $$- 复数表示为 
 $$
 s = a+bj
 $$
- z = a+bj,a是实部,b是虚部,a和b都是浮点数 
- z.real获得z的实部a,z.imag获得z的虚部b 
| 1 | >>>type(1+2j) | 
数值运算
- 操作符 - | 操作符 | 描述 | 
 | —— | ———- |
 | x+y | 加 |
 | x-y | 减 |
 | xy | 乘 |
 | x/y | 除 |
 | x//y | 整数除 |
 | x%y | 求余,取模 |
 | +x | 数字本身 |
 | -y | 取负 |
 | x**y | 幂运算 |
 | += | |
 | -= | |
 | = | |
 | /= | |
 | //= | |
 | %= | |
 | **= | |- 类型间可进行混合运算,生成结果为”最宽”类型 - 三种类型存在一种逐渐”扩展”或”变宽”的关系: 
 整数 -> 浮点数 -> 复数
 例如:123 + 4.0 = 127.0 (整数+浮点数 = 浮点数)
- 函数 - python解释器提供的内置函数 - | 函数及使用 | 描述 | 
 | ——————– | ———————————— |
 | abs(x) | 返回绝对值 |
 | divmod(x, y) | 返回商余元组 (x//y, x%y) |
 | pow(x, y[, z]) | 幂余,(x**y)%z ,z缺省为1 |
 | round(x [, d]) | 四舍五入,d是保留小数位数,缺省值为0 |
 | max(x1 ,x2, …, xn) | 返回最大值 |
 | min(x1, x2, …, xn) | 返回最小值 |- | 函数及使用 | 描述 | 
 | ———- | ———————————————– |
 | int(x) | x变成整数,舍弃小数部分。不写x时,创建整数对象0 |
 | ord(ch) | 单个字符转换成Unicode码编码整数 |
 | float(x) | x变成浮点数,增加小数部分 |
 | complex(x) | 将x变成复数,增加虚数部分 |
- 方法 - 数值类型在python解释器内部都是类(class),类的方法 
| 1 | >>>1+10 |